﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using blackhouse.BlackApart.Business.Reservations;

namespace blackhouse.BlackApart.Business.ApartmentServices {
    public class ImpAdditionalService : IAdditionalService {

        #region Properties

        public int ServiceId { get; set; }
        public string ServiceKey { get; set; }
        public string ServiceName { get; set; }
        public string Description { get; set; }
        public string ApartmentDescription { get; set; }
        public ServiceFor ServiceFor { get; set; }
        public ServiceTime ServiceTime { get; set; }
        public double UnitPrice { get; set; }
        public double PriceOnDemand { get; set; }
        public string ReviewTitle { get; set; }
        public int DefaultQuantity { get; set; }
        public bool RemoveQuantityLimit { get; set; }

        public IAdditionalService[] Services { get; set; }
        public IAdditionalService[] ServicesForReservation { get; set; }

        #endregion

        #region Methods

        public IAdditionalService[] GetServices(int apartmentGroupId) {
            return this.Services;
        }

        public IAdditionalService FindService(int apartmentGroupId, string serviceKey) {
            return this.Services.FirstOrDefault(s => s.ServiceKey == serviceKey);
        }

        public IAdditionalService[] GetServicesForReservation(int forReservationId) {
            return this.ServicesForReservation;
        }

        public ReservationAdditionalService AddToReservation(IWebReservation reservation) {
            throw new NotImplementedException();
        }

        public ReservationAdditionalService GetOrderFromReservation(IWebReservation reservation) {
            throw new NotImplementedException();
        }

        #endregion

    }
}
